﻿namespace Mvc.RazorTools.FontAwesome
{
	/// <summary>
	/// Contains a set of predefined class attributes for the Font Awesome
	/// icons. The items are defined on the Font Awesome web site and are
	/// intended to modify the existing icons in some way. For example, some
	/// attributes will rotate the icon, spin it or alter the default size.
	/// </summary>
	public static class FontAwesomeStyles
	{
		/// <summary>
		/// Defines the i tag as a Font Awesome icon
		/// </summary>
		public const string Icon = "fa";

		/// <summary>
		/// To increase icon sizes relative to their container, use the fa-lg (33% increase), 
		/// fa-2x, fa-3x, fa-4x, or fa-5x classes. 
		/// </summary>
		public const string Large1x = "fa-lg";

		/// <summary>
		/// To increase icon sizes relative to their container, use the fa-lg (33% increase), 
		/// fa-2x, fa-3x, fa-4x, or fa-5x classes. 
		/// </summary>
		public const string Large2x = "fa-2x";

		/// <summary>
		/// To increase icon sizes relative to their container, use the fa-lg (33% increase), 
		/// fa-2x, fa-3x, fa-4x, or fa-5x classes. 
		/// </summary>
		public const string Large3x = "fa-3x";

		/// <summary>
		/// To increase icon sizes relative to their container, use the fa-lg (33% increase), 
		/// fa-2x, fa-3x, fa-4x, or fa-5x classes. 
		/// </summary>
		public const string Large4x = "fa-4x";

		/// <summary>
		/// To increase icon sizes relative to their container, use the fa-lg (33% increase), 
		/// fa-2x, fa-3x, fa-4x, or fa-5x classes. 
		/// </summary>
		public const string Large5x = "fa-5x";

		/// <summary>
		/// Use fa-fw to set icons at a fixed width. Great to use when variable icon widths 
		/// throw off alignment. Especially useful in things like navigation lists. 
		/// </summary>
		public const string FixedWidth = "fa-fw";

		/// <summary>
		/// Use fa-ul and fa-li to easily replace default bullets in unordered lists.
		/// </summary>
		public const string UnorderedList = "fa-ul";

		/// <summary>
		/// Use fa-ul and fa-li to easily replace default bullets in unordered lists.
		/// </summary>
		public const string ListItem = "fa-li";

		/// <summary>
		/// Use fa-border and pull-right or pull-left for easy pull quotes or article graphics. 
		/// </summary>
		public const string Border = "fa-border";

		/// <summary>
		/// Use fa-border and pull-right or pull-left for easy pull quotes or article graphics. 
		/// </summary>
		public const string PullRight = "pull-right";

		/// <summary>
		/// Use fa-border and pull-right or pull-left for easy pull quotes or article graphics. 
		/// </summary>
		public const string PullLeft = "pull-left";

		/// <summary>
		/// Use the fa-spin class to get any icon to rotate. Works well with fa-spinner, fa-refresh, and fa-cog. 
		/// </summary>
		public const string Spin = "fa-spin";

		/// <summary>
		/// To arbitrarily rotate and flip icons, use the fa-rotate-* and fa-flip-* classes. 
		/// </summary>
		public const string Rotate90 = "fa-rotate-90";

		/// <summary>
		/// To arbitrarily rotate and flip icons, use the fa-rotate-* and fa-flip-* classes. 
		/// </summary>
		public const string Rotate180 = "fa-rotate-180";

		/// <summary>
		/// To arbitrarily rotate and flip icons, use the fa-rotate-* and fa-flip-* classes. 
		/// </summary>
		public const string Rotate270 = "fa-rotate-270";

		/// <summary>
		/// To arbitrarily rotate and flip icons, use the fa-rotate-* and fa-flip-* classes. 
		/// </summary>
		public const string FlipHorizontal = "fa-flip-horizontal";

		/// <summary>
		/// To arbitrarily rotate and flip icons, use the fa-rotate-* and fa-flip-* classes. 
		/// </summary>
		public const string FlipVertical = "fa-flip-vertical";

		/// <summary>
		/// To stack multiple icons, use the fa-stack class on the parent, the fa-stack-1x 
		/// for the regularly sized icon, and fa-stack-2x for the larger icon. fa-inverse 
		/// can be used as an alternative icon color. You can even throw larger icon classes 
		/// on the parent to get further control of sizing. 
		/// </summary>
		public const string Stack = "fa-stack";

		/// <summary>
		/// To stack multiple icons, use the fa-stack class on the parent, the fa-stack-1x 
		/// for the regularly sized icon, and fa-stack-2x for the larger icon. fa-inverse 
		/// can be used as an alternative icon color. You can even throw larger icon classes 
		/// on the parent to get further control of sizing. 
		/// </summary>
		public const string Stack1x = "fa-stack-1x";

		/// <summary>
		/// To stack multiple icons, use the fa-stack class on the parent, the fa-stack-1x 
		/// for the regularly sized icon, and fa-stack-2x for the larger icon. fa-inverse 
		/// can be used as an alternative icon color. You can even throw larger icon classes 
		/// on the parent to get further control of sizing. 
		/// </summary>
		public const string Stack2x = "fa-stack-2x";

		/// <summary>
		/// To stack multiple icons, use the fa-stack class on the parent, the fa-stack-1x 
		/// for the regularly sized icon, and fa-stack-2x for the larger icon. fa-inverse 
		/// can be used as an alternative icon color. You can even throw larger icon classes 
		/// on the parent to get further control of sizing. 
		/// </summary>
		public const string Inverse = "fa-inverse";
	}
}
